package com.baitengsoft.patentapimonitor.api.service;

import com.baitengsoft.patentapimonitor.api.entity.WebPlatformEntity;
import com.baitengsoft.patentapimonitor.api.model.WebPlatformViewModel;
import com.baitengsoft.patentapimonitor.api.model.param.EditPlatformParam;
import com.baitengsoft.patentapimonitor.api.model.param.PlatformParam;
import com.baitengsoft.patentapimonitor.api.model.param.PlatformViewParam;
import com.baitengsoft.patentapimonitor.api.model.param.SearchMonSummaryParam;
import com.baitengsoft.patentapimonitor.common.utils.PageResult;
import com.baitengsoft.patentapimonitor.common.utils.Res;

import java.util.List;

/**
 * 平台服务
 * @author Chen 2017/12/20
 */
public interface WebPlatformService extends BaseService<WebPlatformEntity> {
    /**
     * 根据平台id修改平台时间范围
     */
    Res updateTimeRanges(EditPlatformParam editPlatformParam);

    /**
     * 根据平台id修改数据源属性
     */
    Res updateDataSource(EditPlatformParam editPlatformParam);

    /**
     * 后台 获取平台管理列表
     * @param param
     * @return
     */
    PageResult<WebPlatformViewModel> searchPlatforms(PlatformParam param);

    //Integer saveOrUpdatePlatform(PlatformViewParam param, int userId);


    Integer saveOrUpdatePlatformWrap(PlatformViewParam param, int userId);

    Integer delPlatformById(String ids,int userId);

    /**
     * 后台启用平台
     * @param id
     * @param userId
     * @return
     */
    Integer setStartDateById(int id,int userId);

    /**
     * 后台禁用平台
     * @param id
     * @param userId
     * @return
     */
    Integer setDisabledById(int id,int userId);

    /**
     * 后台试用平台
     * @param id
     * @param userId
     * @return
     */
    Integer setTryById(int id,int userId);

    WebPlatformEntity searchById(int id);

    List<WebPlatformEntity> searchPlatformsForUser();

    List<WebPlatformEntity> searchByRolesId(int rolesId);

    Boolean chekPlatformName(String platformName);

    Res checkInit(Integer platformid);
}
